From 9da63118e1e37652cb9008b899fb2845aed353ed Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Wed, 24 Sep 2008 08:56:10 +0000 Subject: [PATCH] =?utf8?q?Bug=20538782=20=E2=80=93=20Make=20GtkMenu's=20ar?= =?utf8?q?row=20size=20themable?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * gtk/gtkmenu.c (gtk_menu_class_init), (gtk_menu_paint): Implement "arrow-scaling" style property in GtkMenu. svn path=/trunk/; revision=21509 --- ChangeLog | 7 +++++++ gtk/gtkmenu.c | 20 +++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 41fb04a425..8c87977548 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-24 Christian Dywan + + Bug 538782 – Make GtkMenu's arrow size themable + + * gtk/gtkmenu.c (gtk_menu_class_init), (gtk_menu_paint): + Implement "arrow-scaling" style property in GtkMenu. + 2008-09-24 Christian Dywan Bug 408244 – add GtkDialog::content-area-spacing diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 9cfbdb19c8..13c2cbd967 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -661,6 +661,20 @@ gtk_menu_class_init (GtkMenuClass *class) -1, INT_MAX, -1, GTK_PARAM_READWRITE)); + /** + * GtkMenu::arrow-scaling + * + * Arbitrary constant to scale down the size of the scroll arrow. + * + * Since: 2.16 + */ + gtk_widget_class_install_style_property (widget_class, + g_param_spec_float ("arrow-scaling", + P_("Arrow Scaling"), + P_("Arbitrary constant to scale down the size of the scroll arrow"), + 0.0, 1.0, 0.7, + GTK_PARAM_READABLE)); + binding_set = gtk_binding_set_by_class (class); gtk_binding_entry_add_signal (binding_set, GDK_Up, 0, @@ -2626,7 +2640,11 @@ gtk_menu_paint (GtkWidget *widget, if (event->window == widget->window) { - gint arrow_size = 0.7 * arrow_space; + gfloat arrow_scaling; + gint arrow_size; + + gtk_widget_style_get (widget, "arrow-scaling", &arrow_scaling, NULL); + arrow_size = arrow_scaling * arrow_space; gtk_paint_box (widget->style, widget->window, -- 2.30.2